1. Field of the Invention
The present invention relates to an echo canceling system and an echo canceling method applied to a full-duplex communication system, an automatic voice interaction system and the like.
2. Description of Related Art
With a widespread use of the internet, various types of services utilizing the internet have become available. For example, what is called a computer telephony system using a technology such as VoIP (Voice Over IP) has been applied to various applications. The following is a description of a full-duplex communication system using a conventional VoIP technology.
FIG. 1 is a diagram schematically showing the full-duplex communication system. In FIG. 1, numerals 10 and 20 denote speakers. The following description is directed to an example of the case where the speaker 10 speaks and the voice of the speaker 10 is transmitted to the side of the speaker 20 as a conversation partner. In FIG. 1, numerals 11 and 21 denote microphones, numerals 12 and 22 denote loudspeakers, numerals 13 and 23 denote VoIP applications, numerals 14 and 24 denote terminals, and numeral 30 denotes the internet. A communication interface and other devices are omitted for convenience.
First, when the speaker 10 inputs voice to the microphone 11, the VoIP application 13 receives a voice signal corresponding to this voice and performs necessary processings such as a sampling, so as to be transmitted from the terminal 14 to the internet 30 as packet data. According to the routing on the internet, respective packet data reach the predetermined terminal 24, on which these packet data are assembled sequentially and subjected to necessary processings by the VoIP application 23, then outputted from the loudspeaker 22 as voice.
The voice outputted from the loudspeaker 22 not only reaches the conversation partner 20, but also sometimes is re-inputted to the microphone 21 as wrap-around voice. In this case, the voice re-inputted from the microphone 21 is transmitted via the VoIP application 23 in the terminal 24, the internet 30 and the VoIP application 13 in the terminal 14, thus being outputted from the loudspeaker 12 as voice containing an echo. This forms a kind of loop, leading to echo generation.
In a path that forms this loop generating the echo (an echo path), transmission delay is generated. In other words, the speaker 10 hears the voice that he/she inputted to the microphone 11 from the loudspeaker 12 a little later. Accordingly, the speaker 10 finds it very difficult to talk and listen to the voice of the partner.
Also, when the echo level is very high so that the echo diverges without fading, a phenomenon called howling occurs, which makes it difficult to have a conversation itself.
In order to solve these problems, echo cancellers often have been used. FIG. 2 is a diagram schematically showing an echo canceling system using the example of echo canceller. In FIG. 2, the terminal 14 on the side of the speaker 10 has an echo canceller 15. The echo canceller 15 receives a signal to be outputted through the loudspeaker 12 as an input and subtracts from this received signal a portion corresponding to the input signal from the microphone 11, thereby canceling a voice signal that has been undesirably headed and re-inputted to the microphone 21.
The echo canceller 15 includes a sound characteristics detecting portion 151, an adjusting portion 152 and an echo canceling processing portion 153. Signals inputted to the echo canceller 15 are a voice signal of the speaker 10 and a response signal returned via an echo path, while a signal outputted therefrom is a voice signal to be outputted to the loudspeaker 12.
The sound characteristics detecting portion 151 detects sound characteristics information of the echo path seen from the speaker side. More specifically, the sound characteristics information of the echo path is detected from the voice signal and the response signal returned via the echo path. For example, adjustments are made such that a difference between a processed signal obtained by arithmetically processing the voice signal and the response signal becomes “zero”, thereby obtaining the sound characteristics information of the echo path.
The adjusting portion 152 receives the adjustment for echo canceling by the speaker and generates the tuning signal.
The echo canceling processing portion 153 generates an echo canceling signal from the voice signal based on the sound characteristics information detected by the sound characteristics detecting portion 151 and subtracts the portion corresponding to the echo canceling signal from the voice signal returned from the system on the conversation partner side, thereby canceling the echo.
FIG. 3 illustrates an example of a specific module configuration, mainly showing the echo canceller 15. Numeral 31 denotes a sound characteristics filter including a FIR filter (finite impulse response filter) etc., numeral 32 denotes a coefficient updating unit, and numerals 33 and 34 denote subtracting units. Numeral 35 denotes a gain controller.
The relationship between each portion in the echo canceller 15 shown in FIG. 2 and the specific module shown in FIG. 3 will be described in the following.
The sound characteristics detecting portion 151 in FIG. 2 corresponds to the sound characteristics filter 31, the coefficient updating unit 32 and the subtracting unit 33 in FIG. 3. The sound characteristics detecting portion 151 detects the sound characteristics information of the echo path seen from the speaker side from the voice signal (a signal a in FIG. 3) serving as a reference signal and an echo signal (a signal b in FIG. 3) returned via the echo path. For example, as described below, a differential signal (a signal d in FIG. 3) between the signal (a signal f in FIG. 3) obtained by arithmetically processing the voice signal by the sound characteristics filter 31 and the echo signal (the signal b in FIG. 3) is calculated by the subtracting unit 33. Then, adjustments are made by the coefficient updating unit 32 such that the power of this differential signal d becomes“zero.” As a result, the coefficient of the sound characteristics filter 31 becomes a coefficient for calculation corresponding to the sound characteristics information of the echo path.
The adjusting portion 152 in FIG. 2 corresponds to the gain controller 35 in FIG. 3, which has an external input means that allows an adjustment by the speaker, so that the speaker can adjust a gain amount of the gain controller 35 by him/herself. The gain coefficient g can be adjusted in the range, for example, from 0.0 to 1.0. When the gain coefficient g is 0.0, the echo canceling processing is not performed. In other words, by adjusting the gain amount, the speaker can choose execution or suspension of the echo canceling processing of the echo canceling processing portion.
The echo canceling processing portion 153 in FIG. 2 corresponds to the sound characteristics filter 31, the gain controller 35 and the subtracting unit 34 in FIG. 3. In generating the echo canceling signal, the sound characteristics filter 31, in which the coefficient is adjusted as the sound characteristics detecting portion 151, processes arithmetically the received voice signal (the signal a in FIG. 3) serving as the reference signal by reflecting the sound characteristics information (the signal f in FIG. 3). Then, an adjustment is made by the speaker with the gain controller 35 so as to generate the echo canceling signal (a signal c=g·f in FIG. 3). Subsequently, in the subtracting unit 34, the portion corresponding to the echo canceling signal (the signal c in FIG. 3) is subtracted from the echo signal (the signal b in FIG. 3) that is returned from the system on the partner side, thereby generating a signal (a signal e in FIG. 3) in which an echo is canceled, so as to be outputted to the loudspeaker 12.
However, it is rare that only a single echo path is present in a general full-duplex communication system. Usually, there are a plurality of echo paths, instead. Even in a simple example where IP networks and telephone networks are connected as shown in FIG. 4, it is possible to assume a plurality of echo paths, that are, an echo path 1 up to an exchange 1 connecting the IP network and the telephone network and an echo path 2 up to a PBX 2 connecting the second IP network and the telephone network, other than an echo path 3 up to a terminal B.
In such cases, even when a filter coefficient corresponding to the echo path 1 is updated with the echo canceller 15, little echo canceling effect can be expected for the other echo paths.
The reason is that, since echo arrival times for the echo paths 2 and 3 are later than an echo arrival time for the echo path 1, each order in the filter, that is, the number of samples in which echo control can be performed, corresponding to the echo path 2 or 3 exceeds an order in the filter corresponding to the echo path 1, and therefore, a conventional echo canceller cannot output an appropriate signal as a pseudo-echo signal ci, which is an output signal of the FIR filter.
Furthermore, it also is possible to assume a case in which the sound-reflecting conditions on walls and ceilings vary or a case in which the echo arrival time itself fluctuates due to variation in surrounding factors such as positional changes in microphones or loudspeakers. In those cases, there also has been a problem that the pseudo-echo signal ci in the conventional echo canceller achieves less echo canceling effects.